﻿using System;
using System.Web.UI;
using Tibet.GUI.Contrato;
using Tibet.GUI.Presentador;
using System.Windows.Forms;

namespace Tibet.GUI.Vista
{
    /// <summary>
    /// Clase para mostrar la página de creación de usuarios
    /// </summary>
    public partial class CreacionUsuario : System.Web.UI.Page, 
        IContratoCreacionUsuario
    {
        private PresentadorCreacionUsuario _presentadorCreacionUsuario;

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        public CreacionUsuario()
        {
            _presentadorCreacionUsuario = 
                new PresentadorCreacionUsuario( this );
        }

        /// <summary>
        /// Get del campo de texto Nombre
        /// </summary>
        public String Nombre
        {
            get
            {
                return _nombreTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Apellido
        /// </summary>
        public string Apellido
        {
            get
            {
                return _apellidoTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Email
        /// </summary>
        public string Email
        {
            get
            {
                return _emailTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Usuario
        /// </summary>
        public string NombreUsuario
        {
            get
            {
                return _nombreUsuarioTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Clave
        /// </summary>
        public string Contrasenha
        {
            get
            {
                return _contrasenhaTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Confirmar Clave
        /// </summary>
        public string ConfirmacionContrasenha
        {
            get
            {
                return _confirmacionContrasenhaTextbox.Text;
            }
        }

        /// <summary>
        /// Código a ejecutar cuando el usuario presiona el botón Crear
        /// para crear un nuevo usuario
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void botonCrear_Click(object sender, EventArgs e)
        {             
            Page.Validate("grupoCrearUsuario");

            if (Page.IsValid)
            {
                string resultado = _presentadorCreacionUsuario.ClickCrear();

                MostrarMensaje( resultado );
            }

        }

        /// <summary>
        /// Muestra un mensaje con la información de la operación
        /// </summary>
        /// <param name="resultado">Resultado de la inserción</param>
        public void MostrarMensaje( string resultado )
        {
            MessageBoxIcon mci = new MessageBoxIcon();

            if ( resultado.Equals( "El usuario fue creado con éxito!" ) )
            {
                mci = MessageBoxIcon.Information;
            }

            else
            {
                mci = MessageBoxIcon.Error;
            }

            MessageBox.Show( resultado, "Creación de usuario", 
                MessageBoxButtons.OK, mci );
                
        }

        public void ValidameEnServidor (object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
        {


            //Obtiene valor inicial                                              

            //Credencial micredencia = new Credencial();
            //if (micredencia.ExisteAlias(this.aliasUsuario.Text))
            //{
            //    args.IsValid = false;
            //}
            //else
            //{

            //    args.IsValid = true;
            //}
            //return;
            
        }

        
        
        
        
        
        protected void emailUsuario_TextChanged(object sender, EventArgs e)
        {

        }

        protected void claveUsuario_TextChanged(object sender, EventArgs e)
        {

        }
        
    }
}